In Japanese Patent Application No. 2000-352011, the applicants have proposed a technique of using a relatively simple robot dynamics model to generate in real time a flexible gait (referred to as an approximate gait, hereinafter) with which a robot can continuously move while approximately satisfying its dynamical equilibrium condition (i.e., without divergence).
Furthermore, in Japanese Patent Application No. 2001-133621, there is proposed a technique of generating a gait that is corrected so as to precisely satisfy the dynamical equilibrium condition and substantially follow the approximate gait without divergence. A desired gait corrected is referred to as a corrected desired gait or a corrected gait, hereinafter.
However, in Japanese Patent Application No. 2001-133621, a desired floor reaction force, which has been appropriately determined, is shifted to prevent divergence of the corrected gait. That is, the floor reaction force is modified so that a floor reaction force moment is produced (acted) about a desired ZMP, which has been appropriately determined, or the desired ZMP itself is modified.
In the following, the appropriately determined desired floor reaction force is referred to as an ideal desired floor reaction force, and the appropriately determined desired ZMP is referred to as an ideal desired ZMP.
As shown in the following formula, a shift of the desired ZMP from the ideal desired ZMP is equivalent to production of a horizontal component of a floor reaction force moment about the ideal desired ZMP which is expressed as (shift of the desired ZMP)*(vertical component of the translation floor reaction force).(horizontal component of the floor reaction force moment about the ideal desired ZMP)=(shift of the desired ZMP)*(vertical component of the translation force of the floor reaction force)  formula b01
In the following, the vertical component of the translation floor reaction force is sometimes abbreviated as a floor reaction force vertical component as far as it is not misconstrued as the floor reaction force moment about the vertical axis.
To what extent the divergence of the corrected gait can be prevented and the corrected gait can be stabilized depends on the maximum value (minimum value) of the floor reaction force moment that can be produced about the ideal desired ZMP.
When a robot walks, the floor reaction force vertical component is always substantially equal to the weight of the robot, and the possible area of the desired ZMP (a minimum polygon surrounding the contact surface, referred also to as a supporting polygon) is wide. Thus, divergence of the corrected gait can be prevented by shifting the desired ZMP within the possible area and thereby producing a horizontal component of the floor reaction force moment about the ideal desired ZMP.
On the other hand, when a robot runs, all the legs of the robot may often float in the air, and in such a state, the floor reaction force vertical component is 0. In this state, all the components of the floor reaction force (the components of the translation force and the moment) are typically 0. Therefore, when all the legs float in the air, divergence of the corrected gait cannot be prevented by producing a floor reaction force moment about the ideal desired ZMP.
Even if any of the legs is in contact with the floor, if the floor reaction force vertical component is close to 0, only a slight horizontal component of the floor reaction force moment about the ideal desired ZMP can be produced by shifting the desired ZMP within the possible area of the desired ZMP. This is because the horizontal component of the moment about the ideal desired ZMP is a product of the amount of the modification of the desired ZMP and the floor reaction force vertical component, as described above. Therefore, in this case also, divergence of the corrected gait cannot be prevented.
As described above, when the floor reaction force vertical component is 0 or close to 0, the absolute value of the floor reaction force moment that can be produced about the ideal desired ZMP is small, and therefore, divergence of the corrected gait cannot be prevented. Thus, the corrected gait has to be brought close to the approximate gait when the floor reaction force vertical component has an adequate value.
Besides, if a foot sole of the robot is in contact with the floor and an adhesion force (attraction force) can be produced between the sole and the floor, a floor reaction force moment can be produced even if the floor reaction force vertical component is 0. However, in general, legged mobile robots are controlled on the assumption that there is no adhesion force (attraction force). In addition, in usual operating environments of such robots, substantially no adhesion force occurs between the floor and the foot soles.
In addition, if the floor reaction force vertical component is 0, the desired ZMP is not settled and can be set at any point. However, all the components of the floor reaction force are 0, and therefore, if the desired ZMP is shifted, any horizontal component of floor reaction force moment cannot be produced about the ideal desired ZMP.
Another important problem which is not specifically described in Japanese Patent Application No. 2001-133621 is of slipping.
In the embodiments described in Japanese Patent Application No. 2001-133621, the body horizontal acceleration for the corrected gait is adjusted (changed) in such a manner that the moment produced about the original desired ZMP by the resultant of gravity and the inertial force produced by the movement of the robot is reduced to 0 or made to agree with the floor reaction force moment for preventing divergence of the corrected gait (full-model corrected moment about the desired ZMP described in Japanese Patent Application No. 2001-133621) as described above. In other words, the total center-of-gravity horizontal acceleration is adjusted (changed). As a result, the floor reaction force horizontal component in balance with the total center-of-gravity horizontal acceleration changes.
In the case where the robot moves on a horizontal floor surface, the floor reaction force horizontal component is caused by friction.
When the robot walks on a floor surface having a high friction coefficient, the floor reaction force vertical component is always substantially equal to the weight thereof, and therefore, the friction force (that is, the floor reaction force horizontal component) has a high limit value. Thus, the robot hardly slips even if the body horizontal acceleration for the corrected gait is changed as described above.
On the other hand, when the robot walks on a floor surface having a low friction coefficient, the limit value of the friction force (the floor reaction force horizontal component) is low. Therefore, when the body horizontal acceleration for the corrected gait is changed as described above, a floor reaction force horizontal component that is in balance therewith cannot be produced, and thus, the robot may slip.
During running, the floor reaction force vertical component sometimes becomes approximately 0. When this occurs, even if the floor surface has a high friction coefficient, the limit value of the friction force (the floor reaction force horizontal component) is substantially 0. Thus, during running also, the robot may slip if the body horizontal acceleration for the corrected gait is changed as described above.
In addition, during running, the floor reaction force vertical component sometimes becomes 0 (when both the legs float in the air). When this occurs, the friction force (the floor reaction force horizontal component) also becomes 0, so that the total center-of-gravity horizontal acceleration is naturally 0 (uniform motion). In other words, the gait of the robot has to be one in which the total center-of-gravity horizontal acceleration is 0.
As described above, in the cases where the robot runs and where the robot walks on a floor surface of a low friction coefficient, it is difficult or possibly impossible that the body horizontal acceleration for the corrected gait (or the total center-of-gravity horizontal acceleration) is adjusted (changed) in such a manner that the moment produced about the ideal desired ZMP by the resultant of gravity and the inertial force is reduced to 0 or made to agree with the floor reaction force moment for preventing divergence of the corrected gait as described above.
In consideration of cases where a robot runs or walks on a floor surface of a low friction coefficient, the applicants have proposed a technique of explicitly setting a desired ZMP trajectory, a desired floor reaction force vertical component trajectory and an allowable range for the floor reaction force horizontal component and generating a movement of a gait (foot position/posture trajectory and body position/posture trajectory) in which the desired floor reaction force ZMP trajectory and the desired floor reaction force vertical component trajectory are satisfied, and the floor reaction force horizontal component falls within the allowable range for the floor reaction force horizontal component.
According to this technique, with a precise dynamics model, the dynamical equilibrium condition (the moment produced about the desired ZMP by the resultant of gravity and the inertial force is 0) can be precisely satisfied and the floor reaction force horizontal component can be made to always fall within allowable range for the floor reaction force horizontal component. However, such a precise dynamics model requires more calculation for solving equations of motion. In addition, such a precise dynamics model has a strong nonlinearity. Therefore, when searching for a gait parameter that satisfies a normal gait boundary requirement (that equal body position/velocity is provided at the start and end of the gait, for example) described in Japanese Patent Application No. 2000-352011 previously proposed by the applicants, that is, a gait parameter that enables the robot to continuously move stably, the convergence coefficient is reduced and the number of searchings increases. Thus, the total calculation amount is enormous, so that a high-speed computer or a dedicated IC for dynamics model calculation is required. In addition, it is difficult to generate a gait in real time when the robot is moving.
However, with a simple approximate dynamics model, there arise problems that the dynamical equilibrium condition cannot be satisfied with an adequate precision although the amount of calculation is reduced, the ZMP of the actually generated gait is out of the possible area thereof, or the floor reaction force horizontal component is out of the allowable range of the floor reaction force horizontal component (friction force limit), for example. Thus, there is a high possibility that an actual robot moves unstably or slips when it is made to move by following the generated gait.
Therefore, an object of the present invention is to overcome the disadvantages of the techniques previously proposed and provide a gait generation device that can generate various desired gaits for normal walking as well as running, walking on a floor surface of a low friction coefficient and the like with a relatively small amount of calculation. In addition, an object of the present invention is to provide a gait generation device that can generate a gait that precisely satisfies the dynamical equilibrium condition with the ZMP, the floor reaction force horizontal component or the like falling within appropriate allowable ranges.